/*
*    Phantom v2.0 GUI Automation Software
*    Copyright (C) 2009  John C. Van Arsdall (john@phantomtest.com)
*
*    This program is free software; you can redistribute it and/or modify
*    it under the terms of the GNU General Public License as published by
*    the Free Software Foundation; either version 2 of the License, or
*    (at your option) any later version.
*
*    This program is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*    GNU General Public License for more details.
*
*    You should have received a copy of the GNU General Public License along
*    with this program; if not, write to the Free Software Foundation, Inc.,
*    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#pragma once

#include "SSI_InternalErrors.h"
#define ERR_P00100  "Window '%s' not found (Class='%s', Tag='%s'). (P00100)"
#define ERR_P00101  "Variable '%s' not a member of %s. (P00101)"
#define ERR_P00102  "Could not open file '%s'. (P00102)"
#define ERR_P00103  "Could not open file '%s'. (P00103)"
#define ERR_P00104  "Window '%s' not found (Class='%s', Tag=%d). (P00104)"

#define ERR_P00200  "Invalid Menu '%s' (Tag = %d). (P00200)"
#define ERR_P00201  "Function '%s' not supported by menus. (P00201)"
#define ERR_P00202  "Top level menu must have children menus. (P00202)"
#define ERR_P00250  "Incorrect declaration syntax on line %d. (P00250)"
#define ERR_P00251  "Incorrect declaration syntax on line %d. (P00251)"
#define ERR_P00252  "Incorrect declaration syntax on line %d. Expect and integer. (P00252)"
#define ERR_P00253  "Incorrect declaration syntax on line %d. Expect and integer. (P00253)"
#define ERR_P00254  "Run: System command interpreter not found. (P00254)"
#define ERR_P00255  "ChangeDir '%s' not successful. (P00255)"


#define ERR_P00210  "Keyword 'use' requires a string parameter. (P00210)"
#define ERR_P00211  "Incorrect 'define' syntax. (P00211)"
#define ERR_P00212  "Could not define '%s' as '%s'. (P00212)"
#define ERR_P00213  "Function '%s' is not a member of class '%s'. (P00213)"
#define ERR_P00214  "Function '%s' is not a member of class '%s'. (P00214)"
//#define ERR_P00215  "Could not use declaration file. (P00215)"

#define ERR_P00300  "Phantom Internal Error: Minion not created. (P00300)"
#define ERR_P00301  "Phantom Internal Error: Minion not synchronized. (P00301)"

#define ERR_P00400  "Could not post message. (P00400)"

#define ERR_P00410 "Could not capture bitmap. (P00410)"
#define ERR_P00411 "Could not capture bitmap. (P00411)"
#define ERR_P00412 "Could not capture bitmap. (P00412)"
#define ERR_P00413 "Could not capture bitmap. (P00413)"
#define ERR_P00414 "Could not capture bitmap. (P00414)"
#define ERR_P00415 "Could not capture bitmap. (P00415)"
#define ERR_P00416 "Could not capture bitmap. (P00416)"
#define ERR_P00417 "Could not capture bitmap. (P00417)"
#define ERR_P00418 "Could not capture bitmap. (P00418)"
#define ERR_P00419 "Could not capture bitmap. (P00419)"

#define ERR_P00450 "Must enter an integer. (P00450)"
#define ERR_P00451 "Must enter an integer. (P00451)"
#define ERR_P00452 "Must enter a real. (P00452)"
#define ERR_P00453 "Must enter a real. (P00453)"
#define ERR_P00454 "Must enter a string. (P00454)"

#define ERR_P00500 "Process not found. (P00500)"
#define ERR_P00501 "Could not get process memory. (P00501)"

#define ERR_P00510 "Can not convert '%s' to an integer. (P00510)"
#define ERR_P00511 "Can not convert '%s' to a real. (P00511)"

#define ERR_P00520 "Could not get machine name. (P00520)"
#define ERR_P00521 "Failed to find file in '%s'. Possibly missing file filter. (P00521)"

#define ERR_P00530 "Keyword 'dll' expects an opening parenthesis '('. (P00530)"
#define ERR_P00531 "Keyword 'dll' expects a closing parenthesis ')'. (P00531)"
#define ERR_P00532 "Keyword 'dll' is missing parameters. (P00532)"
#define ERR_P00533 "Keyword 'dll' parameter %d requires a string. (P00533)"
#define ERR_P00534 "Keyword 'dll' is missing parameters. (P00534)"
#define ERR_P00535 "Keyword 'dll' is missing parameters. (P00535)"
#define ERR_P00536 "Keyword 'dll' has invalid return type. (P00536)"
#define ERR_P00537 "Keyword 'dll' has invalid variable type '%s'. (P00537)"
#define ERR_P00538 "Keyword 'dll' functions can not have more than %d parameters. (P00538)"
#define ERR_P00539 "Parameter %d for dll function is invalid . (P00539)"

#define ERR_P00540 "Could not load declarations file. (P00540)"
#define ERR_P00541 "Invalid window handle. (P00541)"
#define ERR_P00542 "Window with handle '%d' no longer exists. (P00542)"

#define ERR_P00550 "Could not load dll file '%s'. (P00550)"
#define ERR_P00551 "Could not load dll function '%s'. (P00551)"
#define ERR_P00552 "Return type from dll function not recognized. (P00552)"
#define ERR_P00553 "Could not load DLL package '%s'. (P00553)"
#define ERR_P00554 "DLL package '%s' is incompatible with Phantom. (P00554)"

#define P_MAKEERR0(x)  String sErr; sErr.Format(x); theAPI.m_ReturnStatus = CStatus(sERROR, sErr);
#define P_MAKEERR1(x, y)  String sErr; sErr.Format(x, y); theAPI.m_ReturnStatus = CStatus(sERROR, sErr);
#define P_MAKEERR2(x, y, z)  String sErr; sErr.Format(x, y, z); theAPI.m_ReturnStatus = CStatus(sERROR, sErr);
#define P_MAKEERR3(x, y, z, q)  String sErr; sErr.Format(x, y, z, q); theAPI.m_ReturnStatus = CStatus(sERROR, sErr);

#define TEXT_MAX 4096